package com.fand.platform.authority.dao;

import java.util.List;
import java.util.Map;

import com.fand.dto.PaginationDto;
import com.fand.persistent.builder.ModelArgs;
import com.fand.persistent.builder.ModelBuilder;
import com.fand.persistent.builder.ModelBuilderUtils;
import com.fand.persistent.support.DaoJdbcSupport;
import com.fand.platform.authority.dto.NavigationDto;
import com.fand.platform.authority.dto.NavigationLaDto;
import com.fand.platform.authority.dto.NavigationLaLoDto;
import com.fand.platform.authority.dto.NavigationLoDto;
import com.google.common.collect.Maps;

/**
 * 导航
 * 
 * @author yaoHT
 * 
 */
public class NavigationJdbcDao extends DaoJdbcSupport implements NavigationDao {

	@Override
	public int insertNavigationBy1(NavigationDto insertNavigation, String... insertProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertNavigation, insertProperties));
		return this.update("authority/navigation/insertNavigationBy1", modelBuilder.build());
	}

	@Override
	public int insertNavigationBy1_1(NavigationDto insertNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertNavigation));
		return this.update("authority/navigation/insertNavigationBy1", modelBuilder.build());
	}

	@Override
	public int insertNavigationBy2(NavigationDto insertNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertNavigation));

		return this.update("authority/navigation/insertNavigationBy2", modelBuilder.build());
	}

	@Override
	public int deleteNavigationBy1(NavigationDto deleteNavigation, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteNavigation,
				whereEqProperties));

		return this.update("authority/navigation/deleteNavigationBy1", modelBuilder.build());
	}

	@Override
	public int deleteNavigationBy1_1(NavigationDto deleteNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteNavigation));

		return this.update("authority/navigation/deleteNavigationBy1", modelBuilder.build());
	}

	@Override
	public int deleteNavigationBy2(NavigationDto deleteNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteNavigation));

		return this.update("authority/navigation/deleteNavigationBy2", modelBuilder.build());
	}

	@Override
	public int updateNavigationBy1(NavigationDto updateNavigation, String[] updateProperties,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.UPDATE,
				updateNavigation, updateProperties), new ModelArgs(updateNavigation, whereEqProperties));

		return this.update("authority/navigation/updateNavigationBy1", modelBuilder.build());
	}

	@Override
	public int updateNavigationBy1_1(NavigationDto updateNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(updateNavigation));

		return this.update("authority/navigation/updateNavigationBy1", modelBuilder.build());
	}

	@Override
	public int updateNavigationBy2(NavigationDto updateNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(updateNavigation));

		return this.update("authority/navigation/updateNavigationBy2", modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationBy1ForObject(Class<R> requiredType, NavigationDto selectNavigation,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation,
				whereEqProperties));

		return this.selectForObject(requiredType, "authority/navigation/selectNavigationBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationBy1_1ForObject(Class<R> requiredType, NavigationDto selectNavigation,
			String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation));

		return this.selectForObject(requiredType, "authority/navigation/selectNavigationBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationBy2ForObject(Class<R> requiredType, NavigationDto selectNavigation, String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation));

		return this.selectForObject(requiredType, "authority/navigation/selectNavigationBy2ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationBy1ForObjectList(Class<R> requiredType, NavigationDto selectNavigation,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation,
				whereEqProperties));

		return this.selectForObjectList(requiredType, "authority/navigation/selectNavigationBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationBy1_1ForObjectList(Class<R> requiredType, NavigationDto selectNavigation,
			String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation));

		return this.selectForObjectList(requiredType, "authority/navigation/selectNavigationBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationBy2ForObjectList(Class<R> requiredType, NavigationDto selectNavigation,
			String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation));

		return this.selectForObjectList(requiredType, "authority/navigation/selectNavigationBy2ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationBy1ForMappedObject(Class<R> mappedClass, NavigationDto selectNavigation,
			String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObject(mappedClass,
				"authority/navigation/selectNavigationBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationBy1_1ForMappedObject(Class<R> mappedClass, NavigationDto selectNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation));

		return this.selectForMappedObject(mappedClass,
				"authority/navigation/selectNavigationBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationBy2ForMappedObject(Class<R> mappedClass, NavigationDto selectNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation));

		return this.selectForMappedObject(mappedClass,
				"authority/navigation/selectNavigationBy2ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationBy1ForMappedObjectList(Class<R> mappedClass, NavigationDto selectNavigation,
			String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObjectList(mappedClass,
				"authority/navigation/selectNavigationBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationBy1_1ForMappedObjectList(Class<R> mappedClass, NavigationDto selectNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigation));

		return this.selectForMappedObjectList(mappedClass,
				"authority/navigation/selectNavigationBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationBy2ForMappedObjectList(Class<R> mappedClass, NavigationDto selectNavigation) {
		final Map<String, Object> model = Maps.newHashMap();

		model.put("SITE_ID", selectNavigation.getSiteId());
		model.put("TYPE_ID", selectNavigation.getTypeId());
		model.put("PARENT_ID", selectNavigation.getParentId());
		model.put("TYPE_CODE", selectNavigation.getTypeCo());

		return this.selectForMappedObjectList(mappedClass,
				"authority/navigation/selectNavigationBy2ForMappedObjectList", model);
	}

	@Override
	public <R> PaginationDto<R> paginationNavigationBy1ForMappedObjectList(Class<R> mappedClass,
			NavigationDto paginationNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(paginationNavigation));

		return this.paginationForMappedObjectList(mappedClass, "authority/navigation/selectNavigationBy1ForObject",
				"authority/navigation/selectNavigationBy1ForMappedObjectList",
				paginationNavigation.getPaginationNo(), paginationNavigation.getPaginationSize(),
				modelBuilder.build());
	}

	@Override
	public PaginationDto<Map<String, Object>> paginationNavigationBy1ForMapList(NavigationDto paginationNavigation) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(paginationNavigation));

		return this.paginationForMapList("authority/navigation/selectNavigationBy1ForObject",
				"authority/navigation/selectNavigationBy1ForMappedObjectList",
				paginationNavigation.getPaginationNo(), paginationNavigation.getPaginationSize(),
				modelBuilder.build());
	}

	@Override
	public int insertNavigationLoBy1(NavigationLoDto insertNavigationLo, String... insertProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertNavigationLo, insertProperties));
		return this.update("authority/navigationLo/insertNavigationLoBy1", modelBuilder.build());
	}

	@Override
	public int deleteNavigationLoBy1(NavigationLoDto deleteNavigationLo, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteNavigationLo,
				whereEqProperties));

		return this.update("authority/navigationLo/deleteNavigationLoBy1", modelBuilder.build());
	}

	@Override
	public int updateNavigationLoBy1(NavigationLoDto updateNavigationLo, String[] updateProperties,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.UPDATE,
				updateNavigationLo, updateProperties), new ModelArgs(updateNavigationLo, whereEqProperties));

		return this.update("authority/navigationLo/updateNavigationLoBy1", modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationLoBy1ForObject(Class<R> requiredType, NavigationLoDto selectNavigationLo,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLo,
				whereEqProperties));

		return this.selectForObject(requiredType, "authority/navigationLo/selectNavigationLoBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationLoBy1ForObjectList(Class<R> requiredType, NavigationLoDto selectNavigationLo,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLo,
				whereEqProperties));

		return this.selectForObjectList(requiredType, "authority/navigationLo/selectNavigationLoBy1ForObject",
				objectId, modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationLoBy1ForMappedObject(Class<R> mappedClass, NavigationLoDto selectNavigationLo,
			String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLo,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObject(mappedClass,
				"authority/navigationLo/selectNavigationLoBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationLoBy1ForMappedObjectList(Class<R> mappedClass,
			NavigationLoDto selectNavigationLo, String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLo,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObjectList(mappedClass,
				"authority/navigationLo/selectNavigationLoBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public int insertNavigationLaBy1(NavigationLaDto insertNavigationLa, String... insertProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertNavigationLa, insertProperties));
		return this.update("authority/navigationLa/insertNavigationLaBy1", modelBuilder.build());
	}

	@Override
	public int insertNavigationLaBy1_1(NavigationLaDto insertNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertNavigationLa));
		return this.update("authority/navigationLa/insertNavigationLaBy1", modelBuilder.build());
	}

	@Override
	public int insertNavigationLaBy2(NavigationLaDto insertNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertNavigationLa));

		return this.update("authority/navigationLa/insertNavigationLaBy2", modelBuilder.build());
	}

	@Override
	public int deleteNavigationLaBy1(NavigationLaDto deleteNavigationLa, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteNavigationLa,
				whereEqProperties));

		return this.update("authority/navigationLa/deleteNavigationLaBy1", modelBuilder.build());
	}

	@Override
	public int deleteNavigationLaBy1_1(NavigationLaDto deleteNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteNavigationLa));

		return this.update("authority/navigationLa/deleteNavigationLaBy1", modelBuilder.build());
	}

	@Override
	public int deleteNavigationLaBy2(NavigationLaDto deleteNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteNavigationLa));

		return this.update("authority/navigationLa/deleteNavigationLaBy2", modelBuilder.build());
	}

	@Override
	public int updateNavigationLaBy1(NavigationLaDto updateNavigationLa, String[] updateProperties,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.UPDATE,
				updateNavigationLa, updateProperties), new ModelArgs(updateNavigationLa, whereEqProperties));

		return this.update("authority/navigationLa/updateNavigationLaBy1", modelBuilder.build());
	}

	@Override
	public int updateNavigationLaBy1_1(NavigationLaDto updateNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(updateNavigationLa));

		return this.update("authority/navigationLa/updateNavigationLaBy1", modelBuilder.build());
	}

	@Override
	public int updateNavigationLaBy2(NavigationLaDto updateNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(updateNavigationLa));

		return this.update("authority/navigationLa/updateNavigationLaBy2", modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationLaBy1ForObject(Class<R> requiredType, NavigationLaDto selectNavigationLa,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa,
				whereEqProperties));

		return this.selectForObject(requiredType, "authority/navigationLa/selectNavigationLaBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationLaBy1_1ForObject(Class<R> requiredType, NavigationLaDto selectNavigationLa,
			String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa));

		return this.selectForObject(requiredType, "authority/navigationLa/selectNavigationLaBy1ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationLaBy2ForObject(Class<R> requiredType, NavigationLaDto selectNavigationLa,
			String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa));

		return this.selectForObject(requiredType, "authority/navigationLa/selectNavigationLaBy2ForObject", objectId,
				modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationLaBy1ForObjectList(Class<R> requiredType, NavigationLaDto selectNavigationLa,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa,
				whereEqProperties));

		return this.selectForObjectList(requiredType, "authority/navigationLa/selectNavigationLaBy1ForObject",
				objectId, modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationLaBy1_1ForObjectList(Class<R> requiredType,
			NavigationLaDto selectNavigationLa, String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa));

		return this.selectForObjectList(requiredType, "authority/navigationLa/selectNavigationLaBy1ForObject",
				objectId, modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationLaBy2ForObjectList(Class<R> requiredType, NavigationLaDto selectNavigationLa,
			String objectId) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa));

		return this.selectForObjectList(requiredType, "authority/navigationLa/selectNavigationLaBy2ForObject",
				objectId, modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationLaBy1ForMappedObject(Class<R> mappedClass, NavigationLaDto selectNavigationLa,
			String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObject(mappedClass,
				"authority/navigationLa/selectNavigationLaBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationLaBy1_1ForMappedObject(Class<R> mappedClass, NavigationLaDto selectNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa));

		return this.selectForMappedObject(mappedClass,
				"authority/navigationLa/selectNavigationLaBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationLaBy2ForMappedObject(Class<R> mappedClass, NavigationLaDto selectNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa));

		return this.selectForMappedObject(mappedClass,
				"authority/navigationLa/selectNavigationLaBy2ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationLaBy1ForMappedObjectList(Class<R> mappedClass,
			NavigationLaDto selectNavigationLa, String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObjectList(mappedClass,
				"authority/navigationLa/selectNavigationLaBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationLaBy1_1ForMappedObjectList(Class<R> mappedClass,
			NavigationLaDto selectNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa));

		return this.selectForMappedObjectList(mappedClass,
				"authority/navigationLa/selectNavigationLaBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationLaBy2ForMappedObjectList(Class<R> mappedClass,
			NavigationLaDto selectNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLa));

		return this.selectForMappedObjectList(mappedClass,
				"authority/navigationLa/selectNavigationLaBy2ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> PaginationDto<R> paginationNavigationLaBy1ForMappedObjectList(Class<R> mappedClass,
			NavigationLaDto paginationNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(paginationNavigationLa));

		return this.paginationForMappedObjectList(mappedClass,
				"authority/navigationLa/selectNavigationLaBy1ForObject",
				"authority/navigationLa/selectNavigationLaBy1ForMappedObjectList",
				paginationNavigationLa.getPaginationNo(), paginationNavigationLa.getPaginationSize(),
				modelBuilder.build());
	}

	@Override
	public PaginationDto<Map<String, Object>> paginationNavigationLaBy1ForMapList(
			NavigationLaDto paginationNavigationLa) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(paginationNavigationLa));

		return this.paginationForMapList("authority/navigationLa/selectNavigationLaBy1ForObject",
				"authority/navigationLa/selectNavigationLaBy1ForMappedObjectList",
				paginationNavigationLa.getPaginationNo(), paginationNavigationLa.getPaginationSize(),
				modelBuilder.build());
	}

	@Override
	public int insertNavigationLaLoBy1(NavigationLaLoDto insertNavigationLaLo, String... insertProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.INSERT,
				insertNavigationLaLo, insertProperties));
		return this.update("authority/navigationLaLo/insertNavigationLaLoBy1", modelBuilder.build());
	}

	@Override
	public int deleteNavigationLaLoBy1(NavigationLaLoDto deleteNavigationLaLo, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(deleteNavigationLaLo,
				whereEqProperties));

		return this.update("authority/navigationLaLo/deleteNavigationLaLoBy1", modelBuilder.build());
	}

	@Override
	public int updateNavigationLaLoBy1(NavigationLaLoDto updateNavigationLaLo, String[] updateProperties,
			String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(ModelBuilder.UPDATE,
				updateNavigationLaLo, updateProperties), new ModelArgs(updateNavigationLaLo, whereEqProperties));

		return this.update("authority/navigationLaLo/updateNavigationLaLoBy1", modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationLaLoBy1ForObject(Class<R> requiredType, NavigationLaLoDto selectNavigationLaLo,
			String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLaLo,
				whereEqProperties));

		return this.selectForObject(requiredType, "authority/navigationLaLo/selectNavigationLaLoBy1ForObject",
				objectId, modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationLaLoBy1ForObjectList(Class<R> requiredType,
			NavigationLaLoDto selectNavigationLaLo, String objectId, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLaLo,
				whereEqProperties));

		return this.selectForObjectList(requiredType, "authority/navigationLaLo/selectNavigationLaLoBy1ForObject",
				objectId, modelBuilder.build());
	}

	@Override
	public <R> R selectNavigationLaLoBy1ForMappedObject(Class<R> mappedClass,
			NavigationLaLoDto selectNavigationLaLo, String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLaLo,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObject(mappedClass,
				"authority/navigationLaLo/selectNavigationLaLoBy1ForMappedObjectList", modelBuilder.build());
	}

	@Override
	public <R> List<R> selectNavigationLaLoBy1ForMappedObjectList(Class<R> mappedClass,
			NavigationLaLoDto selectNavigationLaLo, String[] selectProperties, String... whereEqProperties) {
		final ModelBuilder modelBuilder = ModelBuilderUtils.newModelBuilder(new ModelArgs(selectNavigationLaLo,
				whereEqProperties));

		modelBuilder.putTrueExtend(ModelBuilder.SELECT, selectProperties);

		return this.selectForMappedObjectList(mappedClass,
				"authority/navigationLaLo/selectNavigationLaLoBy1ForMappedObjectList", modelBuilder.build());
	}
}